﻿using System;

namespace Shell.PocoDot
{
    /// <summary>
    /// 表示一个数据关系仓库的工厂
    /// </summary>
    public interface IRepositoryFactory
    {
        /// <summary>
        /// 创建特定的数据关系仓库
        /// </summary>
        /// <param name="mainPocoDot">指定的关系中的主 PocoDot</param>
        /// <param name="relatedPocoDot">指定的关系中的从 PocoDot</param>
        /// <returns>特定的数据关系仓库</returns>
        /// <exception cref="System.InvalidOperationException">指定的关系不存在</exception>
        IRepository Create(Type mainPocoDot, Type relatedPocoDot);
    }
}
